home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / schools / _type / _type (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1994-01-25  |  34KB  |  1,646 lines

  1.  > <Type$Dir>.!Type 
  2.  Squished by Lofty's !Shrink vsn 3.02 on 25-Jan-94 
  3. &406C2:
  4. " at line: ";
  5. &406C0:
  6. &400EC,-1,-1
  7. VD%:SD%=1<<&A:AC%=&8000+VD%:
  8. =AC%+SD%:
  9. =AC%:
  10. AA("<Obey$Dir>.",AC%):
  11. h:RC%=
  12. n(&C8,"Event Shell Program"):
  13. t:_closedown%=
  14. :eD%=
  15. &406C1:
  16. g(0,RC%)):
  17. _closedown%:
  18. n%:pC%=
  19. B("MTIBar")):WD%=
  20. B("Info"),""):n%=
  21. B("Quit"),"_MenuSelect_Quit"):
  22. XA(WD%,"progInfo","_PreOpenInfo",""):
  23. pA("mainw",w%):
  24. H(w%,&7E,"_clickmainw"):
  25. H(w%,62,"_clickmainw"):
  26. H(w%,0,"_keypressmainw"):
  27. N(w%,-1,pC%,0,0,0):
  28. DA:H=
  29. b(-1,"!"+
  30. H,"",&78,pC%,0,0,0):
  31. QA(-1,H,"iconbar"):
  32. H(-1,H,"_ClickSelect_IconBar"):
  33. _PreOpenInfo(c%):
  34. C(c%,0,
  35. B("progInfo0"),0):
  36. C(c%,1,
  37. B("progInfo1"),0):
  38. C(c%,2,
  39. B("progInfo2"),0):
  40. C(c%,3,
  41. B("progInfo3"),0):=0
  42. _ClickSelect_IconBar(c%,XB%):
  43. C(w%,88,"",0):
  44. O(w%):
  45. P(w%,88,-1,-1,-1,0):=0
  46. _MenuSelect_Quit(a%):_closedown%=
  47. B$(&64),A$(&64):D=0:oC%=
  48. :iD%=
  49. :FB%=
  50. :jB%=0:SB%=0:bD%=0:D=1:A=0:F$="":F=0:nA%=1:
  51. _clickmainw(c%,XB%):
  52. XB%=&7E:
  53. oC%:B=
  54. ("<Type$Dir>.tests"+
  55. (nA%)):
  56. Q:@%=&1020205:oC%=
  57. :@%=257:
  58. C(w%,44,
  59. (nA%),
  60. ):@%=&1020205:
  61. C(w%,87,F$,
  62. _keypressmainw(c%,i%):
  63. e(88,&D):=0
  64. e(XB%,zA%):
  65. XB%=88:
  66. zA%=&D:
  67. u:CA$=
  68. E(w%,88):
  69. (F$):A$(A)=
  70. CA$,A,1):
  71. u:QB%=
  72. (F$):K=&64:SB%=SB%+QB%:
  73. (F$):
  74. A$(D)<>B$(D)QB%-=1
  75. :K=QB%*&64/(
  76. (F$)):jB%=jB%+QB%:
  77. C(w%,93,
  78. C(w%,99,
  79. (jB%*&64/SB%),
  80. C(w%,89,
  81. -J)/&64),
  82. ):F=F+(
  83. -J)/&64:
  84. C(w%,95,
  85. Q:A=0:F$="":
  86. :A+=1:I=
  87. #B:B$(A)=
  88. (I):F$=F$+B$(A):
  89. #B:F$=
  90. (F$)-1)):
  91. #B:F$="Your average accuracy is "+
  92. (jB%*&64/SB%)+"% in "+
  93. (F)+" seconds. Continue to start again.":@%=257:nA%+=1:
  94. nA%=6:nA%=1
  95. ("<Type$Dir>.tests"+
  96. (nA%)):@%=&1020205
  97. C(w%,88,"",
  98. C(w%,87,"",
  99. P(w%,88,-1,-1,-1,0):
  100. P(LA%,wA%,AD%,GD%,MA%,cA%):
  101. &400D2,LA%,wA%,AD%,GD%,MA%,cA%:
  102. AA(Q$,QD%):
  103. mA%900:
  104. ("LOAD "+Q$+"heapcode "+
  105. ~mA%):
  106. mA%+0,QD%:
  107. _%,l%,b%,Z$:
  108. RA%,C$,D$:
  109. _U%330,_shell_blk%260:_Q%=
  110. A(&BB8):_%=
  111. A(48):_%!0=0:_%!4=0:_%!8=0:_%!&C=0:_%!16=0:_%!20=0:_%!24=0:_%!28=0:_%!32=0:_%!36=0:_%!40=0:_%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!&C=_%:_U%!16=1:_U%!20=0:_U%!24=0:_U%!28=0:_U%!32=0
  112. _U%!36=0:_U%!40=0:_U%!44=-1:_U%!48=0:_U%!52=0:_U%!56=0:_U%!60=0:_U%!64=0:_U%!68=0:_U%!72=0:_U%!76=
  113. A(256):_U%!80=0:_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!&64=0:_U%!&68=0:_U%!&6C=-1:_U%!&70=-1:_U%!&74=-1:_U%!&78=-1:_U%!&7C=-1:_U%!&80=0:_U%!&84=0
  114. _U%!&88=-1:_U%!&8C=-1:_U%!&90=-1:_U%!&94=0:_U%!&98=0:_U%!&9C=0:_U%!&A0=0:_U%!&A4=0:_U%!&A8=0:_U%!&AC=0:_U%!&B0=0:_U%!&B4=0:_U%!&B8=0:_U%!&BC=0:_U%!&C0=0:_U%!&C4=0:_U%!&C8=0:_U%!&CC=0:_U%!&D0=-1:_U%!&D4=-1:_U%!&D8=0:_U%!&DC=0:_U%!&E0=0:_U%!&E4=0
  115. _U%!&E8=
  116. A(256):_U%!&EC=
  117. A(256):_U%!&F0=-1:_U%!&F4=0:_U%!&F8=0:_U%!&FC=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0:_U%!280=0:_U%!284=0:_U%!288=-1:_U%!292=-1:_U%!296=-1:_U%!300=0:_U%!304=0:_U%!308=0:_U%!312=0:_U%!316=0:_U%!320=0
  118. _U%!324=0:
  119. R(_U%!&E8,256,0):
  120. R(_U%!&EC,256,0):RA%=
  121. A(256):C$=
  122. Z(RA%,256,"Obey$Dir",1):
  123. A(RA%):D$=
  124. Y(C$),2):_U%!&BC=
  125. C$)+1):_U%!&C4=
  126. D$)+1):b%=_U%!&BC:$b%=C$:b%=_U%!&C4:$b%=D$:Z$=
  127. l(1):
  128. Z$<>""
  129. 39_U%!&64=_U%!&64
  130. 1<<5:b%=
  131. Z$+1):$(b%)=Z$:_U%!324=b%
  132. n(jC%,EA$):
  133. &400C0,jC%,&4B534154,EA$
  134. jC%,uA%:_U%!&94=uA%:
  135. &81682,uA%:=uA%
  136. m$,b%,D$,C$:
  137. RA%,rB%,_C%:D$=
  138. H:C$=
  139. P:RA%=
  140. A(256):
  141. R(RA%,D$+"Res$Path")
  142. _U%!&64=_U%!&64
  143. R(RA%,D$+"Data$Dir")
  144. JHm$=
  145. Z(RA%,256,D$+"Data$Dir",1):_U%!&C0=
  146. m$)+1):b%=_U%!&C0:$b%=m$
  147. _U%!&C0=
  148. C$)+1):b%=_U%!&C0:$b%=C$
  149. _U%!&64
  150. G(D$+"Res:Messages")
  151. E(D$+"Res:Messages",_U%!68,_U%!64)
  152. G(D$+"Res:ShellMsgs")
  153. E(D$+"Res:ShellMsgs",_U%!280,_U%!284)
  154. E("ShellSysRes:ShellMsgs",_U%!280,_U%!284)
  155. &20035,-1,4
  156. ,,_C%:
  157. &20035,-1,5
  158. ,,rB%:
  159. rB%=1
  160. G(D$+"Res:Sprites22")
  161. _!_U%!16=
  162. O(D$+"Res:Sprites22")
  163. G(D$+"Res:Sprites")
  164. _U%!16=
  165. O(D$+"Res:Sprites")
  166. _U%!16=1
  167. G(D$+"Res:Templates")
  168. S(D$+"Res:Templates")
  169. G(C$+".Messages")
  170. E(C$+".Messages",_U%!68,_U%!64)
  171. G(C$+".ShellMsgs")
  172. E(C$+".ShellMsgs",_U%!280,_U%!284)
  173. E("ShellSysRes:ShellMsgs",_U%!280,_U%!284)
  174. &20035,-1,4
  175. ,,_C%:
  176. &20035,-1,5
  177. ,,rB%:
  178. rB%=1
  179. G(C$+".Sprites22")
  180. _U%!16=
  181. O(C$+".Sprites22")
  182. G(C$+".Sprites")
  183. _U%!16=
  184. O(C$+".Sprites")
  185. _U%!16=1
  186. G(C$+".Templates")
  187. S(C$+".Templates")
  188. &45BC0:
  189. A(_Q%):_Q%=
  190. A(&400):
  191. A(RA%):
  192. EA%,s$:
  193. <>&D00
  194. <>&903
  195. &606C2:
  196. G("Resources:$.Resources.Edit.ThrowBack")
  197. ("Set Basic$File <"+
  198. H+"$BasicFile>"):
  199. "Edit:ThrowBack"
  200. T("Unexpected error:- "+
  201. $+" Internal error code "+
  202. $,"in "+
  203. 34+"EvntShellSystem:ShellLib"):
  204. EA%>0
  205. $,EA%-1)
  206. T(s$)
  207. &606C2:
  208. W(JD%):
  209. A$,p%,FA$,GA$,lC%,yC%,YC%,_B%:
  210. c%,i%,n%,_temp28%,_temp32%,_temp24%,_temp%,CD%:
  211. HD%,d%:
  212. rA(_Q%!0)
  213. I(_Q%!0,
  214. U(_Q%!0)
  215. 6:_U%!28=_Q%!&C:_U%!32=_Q%!16:yC%=_Q%!0:YC%=_Q%!4:_U%!272=_Q%!0:_U%!276=_Q%!4:_U%!320=_Q%!8:_temp28%=_Q%!&C:_temp32%=_Q%!16:i%=_Q%!16:
  216. _Q%!&C=_U%!288
  217. _Q%!16=_U%!292
  218. V(_U%!296,_Q%!&C,_Q%!16,_Q%!8)
  219. _U%!288=-1:_U%!292=-1:_U%!296=-1:
  220. _Q%!16>=0
  221. C(_Q%!&C,_Q%!16,_U%+&68,16,0):
  222. d%>=0
  223. V(d%,_Q%!&C,_Q%!16,_Q%!8)
  224. (_Q%!8=64)
  225. d(_Q%!&C,_Q%!16):
  226. ,O$="Icon is draggable":
  227. g(_Q%!&C,_Q%!16)
  228. O$="Icon is not draggable"
  229. B("Action:"+O$)
  230. _Q%!8
  231. _U%!&64
  232. &42401:_U%!&64=_U%!&64
  233. :_U%!&80=0:A$=
  234. K(_U%!28,_U%!32,6):
  235. A$<>""
  236. B("Action:Drag event detected - function is "+A$):n%=
  237. ("FN"+A$+"(_temp28%,_temp32%)")
  238. B("Action:Drag event detected - no handler function"):
  239. l(_U%!28,_U%!32)
  240. B("Action:keypress is="+
  241. _Q%!24):
  242. _Q%!24
  243. &D,394,398,399,410:_B%=
  244. o(_Q%!0,_Q%!4,_Q%!24)
  245. p(_Q%!24)
  246. B("Action:Keypress not claimed, passing it on"):
  247. &400DC,_Q%!24
  248. B("Action:Keypress claimed by this application")
  249. m(_Q%)
  250. 17,18:
  251. n(_Q%)
  252. o(_Q%)
  253. g(DD%,RC%):
  254. &400C7,DD%,_Q%
  255. &81686,u%,,RC%:=u%
  256. hA%:hA%=_U%!68:
  257. &61504,hA%:
  258. &2001E,7,,hA%:
  259. &606C2:
  260. &600D0,,-1:
  261. q(_U%!&94):
  262. AA(X$):
  263. &45BC1,,X$
  264. m%:=m%
  265. B(E$):=
  266. Q(E$,"","")
  267. W(m%,u$,L$):
  268. L$<>""
  269. &45BC2,m%,u$,L$
  270. &45BC2,m%,u$
  271. :=EC%
  272. XA(PD%,I$,w$,p$):
  273. a%,b%,VA%:
  274. e(I$)
  275. L("SHELLMSG03",I$)
  276. A(&C):a%!0=
  277. I$+1):b%=a%!0:$b%=I$:a%!4=
  278. w$+1):b%=a%!4:$b%=w$:a%!8=
  279. p$+1):b%=a%!8:$b%=p$:
  280. &45BCE,PD%,a%:
  281. &45BCC,,
  282. pA(j$,
  283. bA%,z%,b%,d%:bA%=
  284. V(j$):bA%!64=_U%!16:
  285. &400C1,,bA%
  286. m%:z%=_U%!&B8:
  287. 6,_U%!&B8=
  288. A(8):z%=_U%!&B8:z%!0=m%:z%!4=-1
  289. M(_U%!&B8,m%):
  290. d%=-1
  291. M(_U%!&B8,0):
  292. d%=-1
  293. @=f%=0:
  294. z%!f%<>-1:f%+=4:
  295. :_U%!&B8=
  296. N(_U%!&B8,4):z%=_U%!&B8
  297. f%=d%
  298. :b%=z%+f%:b%!0=m%:b%!4=-1
  299. H(c%,AA%,A$):
  300. J(c%,AA%,2,0,A$):
  301. N(c%,AA%,p%,vB%,wB%,GC%):
  302. AA%>=0
  303. s(c%,AA%,3)
  304. J(c%,AA%,0,p%,""):
  305. b(EA%,k$,Y$,ID%,p%,vB%,wB%,GC%):
  306. Y$=""
  307. ^J!_Q%=EA%:_Q%!4=0:_Q%!8=0:_Q%!&C=70:_Q%!16=70:_Q%!20=&301A:$(_Q%+24)=k$
  308. !_Q%=EA%:_Q%!4=0:_Q%!8=-16:_Q%!&C=ID%:_Q%!16=90:_Q%!20=&1700210B:
  309. _Q%!24&C:
  310. _Q%!28
  311. (k$)+2:$(_Q%!24)=Y$:$(_Q%!28)="S"+k$:_Q%!32=&C
  312. &400C2,,_Q%
  313. N(-2,m%,p%,vB%,wB%,GC%):=m%
  314. b%:b%=_U%!&C4:=$b%
  315. QA(c%,AA%,E$):
  316. J(c%,AA%,8,0,E$):
  317. C(LA%,wA%,W$,M):
  318. a%,v$:v$=
  319. E(LA%,wA%):
  320. W$<>v$
  321. x@a%=
  322. A(40):a%!0=LA%:a%!4=wA%:
  323. &400CE,,a%:
  324. (a%!24
  325. (1<<8))<>0
  326. W$>a%!36
  327. B("SHELLMSG12")
  328. $(a%!28)=W$
  329. $(a%+28)=
  330. W$,&B)
  331. a%!8=0:a%!&C=0:
  332. &400CD,,a%
  333. A(a%)
  334. O(m%):
  335. M(_U%!&B8,m%)>-1
  336. I(m%,0,-1)
  337. E(LA%,wA%):
  338. N$,x%:x%=
  339. A(40):x%!0=LA%:x%!4=wA%:
  340. &400CE,,x%:
  341. (x%!24
  342. (1<<8))<>0
  343. N$=$(x%!28)
  344. N$=$(x%+28)
  345. A(x%):=N$
  346. A(u%):
  347. mA%+4,VA%,u%:=VA%
  348. R(FB%,vC%,kC%):
  349. I%,TB%,SC%:TB%=vC%
  350. 4:SC%=vC%
  351. TB%>0
  352. (TB%*4)
  353. 4:FB%!(I%-1)=kC%:
  354. SC%>0
  355. .FB%=FB%+(TB%*4):
  356. SC%-1:FB%?I%=kC%:
  357. Z(VB%,OA%,g$,O):
  358. h$,C,TD%:
  359. &20023,g$,VB%,OA%,0,-3*(O=
  360. ,,C,TD%,BA%:
  361. C-1:h$=h$+
  362. (VB%?l%):
  363. l%:=h$
  364. F(u%)
  365. mA%+8,u%
  366. u%=0:
  367. Y(Q$):
  368. Q$,"."):Q$=
  369. Q$,".")+1):
  370. l(N):
  371. JC%,M$,d%:M$="":d%=0:
  372. JC%?d%<>0:M$+=
  373. (JC%?d%):d%+=1:
  374. 1:M$=
  375. 34)+1):M$=
  376. 34)+2)
  377. b%:b%=_U%!&BC:=$b%
  378. R(VB%,g$):
  379. &20023,g$,VB%,-1,0,0
  380. G(V$):
  381. c(V$)="Not Found":=
  382. E(J$,
  383. rC%):
  384. OA%,q%:
  385. 3,"Cannot open message file '"+J$+"'"
  386. &41500,,J$
  387. q%,,OA%:
  388. rC%=0
  389. A(OA%)
  390. 30,6,,,17+
  391. ,,mB%:$(mB%+16)=J$:
  392. &41501,mB%,mB%+16:
  393. O(J$):
  394. WA%,S%,T%:S%=
  395. (J$):T%=
  396. #S%+16:
  397. #S%:WA%=
  398. A(T%):!WA%=T%:WA%!4=0:WA%!8=16:WA%!&C=16:
  399. 46,521,WA%:
  400. 46,522,WA%,J$:=WA%
  401. S(J$):
  402. xA%,CC%,iC%,X%,e%:
  403. cC%,EA%,yA%,R$,XA%:
  404. CA%,nC%,VC%,dA%,e$,s%:
  405. _A%,eA%,AB%,kB%,BB%:
  406. yA%20:
  407. 4):yA%+=1:
  408. :EA%=0:XA%=0:AB%=0:BB%=0:cC%=
  409. S(J$):s%=
  410. A(&D):X%=
  411. (J$):
  412. #X%=16:
  413. :e$="":
  414. &C,4,X%,s%,4:CA%=!s%:
  415. B("TemplatesInit:file offset%  = "+
  416. CA%>0
  417. XA%+=1:_A%=0:
  418. &C,4,X%,s%,4:nC%=!s%:
  419. B("TemplatesInit:data_size% = "+
  420. nC%):
  421. &C,4,X%,s%,4:VC%=!s%:
  422. &C,4,X%,s%,&C:f%=0:
  423. :dA%=s%?f%:
  424. dA%>31
  425. f%+=1:
  426. dA%<32:MD%=
  427. #X%=CA%+56:
  428. &C,4,X%,s%,4:q%=!s%:
  429. #X%=CA%+72:
  430. &C,4,X%,s%,&C:_A%+=
  431. X(CA%,q%,s%):
  432. #X%=CA%+84:
  433. &C,4,X%,s%,4:eA%=!s%:
  434. B("TemplatesInit:nr icons        = "+
  435. eA%):
  436. eA%>0
  437. kB%=0
  438. eA%-1:
  439. #X%=CA%+88+(kB%*32)+16:
  440. &C,4,X%,s%,4:q%=!s%:
  441. #X%=CA%+88+(kB%*32)+20:
  442. &C,4,X%,s%,&C:_A%+=
  443. X(CA%,q%,s%):
  444. #X%=MD%:
  445. B("TemplatesInit:entry_type%     = "+
  446. VC%):
  447. B("TemplatesInit:identifier$     = "+e$):
  448. B("TemplatesInit:indirected size = "+
  449. _A%):
  450. B(" "):AB%+=_A%:
  451. (88+(eA%*32))>BB%
  452. BB%=(88+(eA%*32))
  453. CA%=0:
  454. A(s%):
  455. B("TemplatesInit:total indirected= "+
  456. AB%):FD%=
  457. A(cC%):xA%=FD%:_U%!4=
  458. A(20*XA%):XC%=
  459. A(BB%+AB%):CC%=XC%:iC%=XC%+(BB%+AB%):XA%=0:
  460. &400D9,,J$:
  461. :$yA%="*":
  462. &400DB,,xA%,CC%,iC%,_U%!&E8,yA%,EA%
  463. ,,CC%,,,R$,EA%:
  464. EA%<>0
  465. PS!((_U%!4)+(16*XA%))=xA%:$(((_U%!4)+(16*XA%))+4)=R$:xA%+=(88+(xA%!84)*32):XA%+=1
  466. EA%=0:
  467. &400DA:_U%!0=XA%:
  468. q(KC%):=
  469. f("UtilityModule",KC%)
  470. T(x$):
  471. mC%,FA%:FA%=_shell_blk%:!FA%=
  472. :$(FA%+4)=x$+
  473. =&D00
  474. =&903
  475. &600DF,FA%,17,"Message from "+
  476. &600DF,FA%,1,
  477. rA(m%):
  478. tB%,A$,qC%,zC%,a%,v%:v%=
  479. A(&C):
  480. &400D6,m%,v%,&3F0000,&D<<16:
  481. !v%<>-1
  482. E(m%,!v%)
  483. A(v%):a%=
  484. A(&64):
  485. A$=""
  486. K(m%,-1,4)
  487. :a%!0=m%:
  488. &400C8,,a%
  489. tB%:qC%=a%!4-a%!20:zC%=a%!16-a%!24:
  490. &81681,,a%:
  491. A$<>""
  492. ("FN"+A$+"("+
  493. a%+","+
  494. qC%+","+
  495. zC%+")")
  496. &400CA,,a%
  497. A(a%):
  498. I(c%,xB%,UC%):
  499. d%,a%,j%,f%,WC%,RB%,MA%,QA%:
  500. DC%,CB%,DB%,gC%,hC%,EB%:d%=
  501. C(c%,-1,_U%+304,&C,
  502. d%>=0
  503. 2a%=_U%!304+d%:b%=a%!8:EB%=
  504. ("FN"+$b%):
  505. EB%=0
  506. :CB%=
  507. :DB%=
  508. A(&64):DB%!0=c%:
  509. &400CB,,DB%:
  510. (DB%!32
  511. &80000)=&80000
  512. A(DB%):_Q%!0=c%:
  513. &400CB,,_Q%
  514. &400C5,,_Q%
  515. C(c%,-1,_U%+92,24,
  516. d%>-1
  517. Ya%=(_U%!92)+d%:oA%=a%!8:LC%=a%!&C:fA%=a%!16:pA%=a%!20:_Q%!0=c%:
  518. RB%=-1
  519. RB%=_Q%!28
  520. &400C5,,_Q%:
  521. &400CB,,_Q%:
  522. &400C6,,_Q%
  523. A(&400):f%=0:
  524. oA%!f%<>-1:j%!0=oA%!f%:
  525. WC%=0
  526. WC%=j%!0
  527. +gC%=j%!0:
  528. &400CB,,j%:DC%=LC%!f%:
  529. 0,1:MA%=j%!16-j%!8:QA%=j%!&C-j%!4:j%!4=_Q%!4+fA%!f%:j%!&C=j%!4+QA%:j%!16=_Q%!16+pA%!f%:j%!8=j%!16-MA%
  530. 2:MA%=j%!16-j%!8:QA%=_Q%!&C-_Q%!4:j%!4=_Q%!4+fA%!f%:j%!&C=_Q%!&C:j%!16=_Q%!16+pA%!f%:j%!8=j%!16-MA%
  531. 3:MA%=_Q%!16-_Q%!8:QA%=j%!&C-j%!4:j%!4=_Q%!4+fA%!f%:j%!&C=j%!4+QA%:j%!16=_Q%!16:j%!8=_Q%!8+pA%!f%
  532. 4:MA%=j%!16-j%!8:QA%=_Q%!&C-_Q%!4:j%!4=_Q%!4+fA%!f%:j%!&C=_Q%!&C:j%!16=_Q%!8+MA%+pA%!f%:j%!8=j%!16+MA%
  533. 5:MA%=_Q%!16-_Q%!8:QA%=j%!&C-j%!4:j%!4=_Q%!&C-QA%+fA%!f%:j%!&C=j%!4+QA%:j%!16=_Q%!16:j%!8=_Q%!8
  534. j%!28=RB%
  535. j%!28=hC%
  536. &400C5,,j%:hC%=j%!0:f%+=4:
  537. _Q%!28=gC%:
  538. &400C5,,_Q%
  539. A(j%)
  540. _Q%!0=c%:
  541. &400CB,,_Q%
  542. RB%=-2
  543. _Q%!28=-2
  544. UC%=-1
  545. _Q%!28=-1
  546. &400C5,,_Q%
  547. U(c%):
  548. d%,a%,oA%,LC%,fA%,pA%,o%,EB%:d%=
  549. C(c%,-1,_U%+308,&C,
  550. d%>=0
  551. 2a%=_U%!308+d%:b%=a%!8:EB%=
  552. ("FN"+$b%):
  553. EB%=0
  554. A(60):
  555. C(c%,-1,_U%+92,24,
  556. d%>-1
  557. la%=(_U%!92)+d%:LC%=a%!&C:fA%=a%!16:pA%=a%!20:f%=0:oA%=a%!8:
  558. oA%!f%<>-1:o%!0=oA%!f%:
  559. &400C6,,o%:f%+=4:
  560. :o%!0=c%:
  561. &400C6,,o%
  562. A(o%):
  563. V(d%,c%,i%,_button%):
  564. ZD%,t%,UB%,GB%,_temp$,sB%:
  565. fD%,gA%:
  566. _button%<>2
  567. PUB%=_U%!&68+d%:_U%!288=c%:_U%!292=i%:_U%!296=d%:t%=UB%!&C:sB%=t%!16:
  568. sB%<>0
  569. 2_temp$=
  570. E(c%,t%!0):GB%=
  571. ("FN"+$sB%+"(_temp$)")
  572. E(c%,t%!0))
  573. _button%=1
  574. $ _new_val%=GB%+((UB%!8)*(-1))
  575. _new_val%=GB%+UB%!8
  576. t%!20=0
  577. _new_val%>t%!8
  578. _new_val%=t%!8
  579. _new_val%<t%!4
  580. _new_val%=t%!4
  581. _new_val%>t%!8
  582. _new_val%=t%!4
  583. _new_val%<t%!4
  584. _new_val%=t%!8
  585. :gA%=t%!&C:
  586. gA%<>0
  587. 31_new_val$=
  588. ("FN"+$gA%+"(_new_val%,_button%)")
  589. _new_val$=
  590. _new_val%
  591. _new_val%<>GB%
  592. C(c%,t%!0,_new_val$,-1)
  593. C(c%,i%,g%,WB%,tC%):
  594. k%,e%,h%,d%,HB%,b%:
  595. (!g%=0
  596. (!g%=0)
  597. F'!g%=
  598. A(WB%):b%=!g%:b%!0=0:b%!4=0:=0
  599. D(!g%)-8:e%=0:h%=
  600. :d%=-1:HB%=-1:b%=!g%:
  601. HB%<0
  602. (b%!e%=0
  603. b%!e%+4=0)
  604. HB%=e%
  605. (b%!e%=c%)
  606. i%=-1
  607. d%=e%:h%=
  608. b%!(e%+4)=i%
  609. d%=e%:h%=
  610. e%+=WB%
  611. e%+=WB%
  612. ((e%>=k%)
  613. (d%=-1
  614. HB%<0
  615. t5d%=k%:!g%=
  616. N(!g%,WB%):b%=!g%:b%+=d%:b%!0=0:b%!4=0
  617. d%=HB%
  618. d(c%,i%):
  619. q%:q%=
  620. h(c%,i%):b%=(q%
  621. &6000):
  622. b%=&6000=
  623. g(c%,i%):
  624. a%,E,G,uB%,q%,YA%,ZC%,aC%,eC%,f$:
  625. fC%,R$:uB%=
  626. C(c%,i%,_U%+72,24,
  627. uB%>=0
  628. Ea%=_U%!72+uB%:fC%=a%!16:R$=
  629. E(c%,fC%):
  630. R$=""
  631. B("SHELLMSG28"))
  632. A(6000):!a%=c%:
  633. &400CC,,a%:E=a%!4-a%!20:G=a%!16-a%!24:aC%=a%!68:a%!4=i%:
  634. &400CE,,a%:!a%=c%:a%!4=5:q%=a%!24:eC%=a%!32:a%!8=a%!8+E:a%!&C=a%!&C+G:a%!16=a%!16+E:a%!20=a%!20+G:a%!24=0:a%!28=0:a%!32=&7FFFFFFF:a%!36=&7FFFFFFF:
  635. 6,&A1,28
  636. ,,YA%
  637. ZC%=((YA%
  638. 2)=2):
  639. YA%=q%:
  640. i(eC%,"s")
  641. B("SHELLMSG19"))
  642. f$<>""
  643. &42400,&85,aC%,f$,a%+8:_U%!&64=_U%!&64
  644. &400D0,,a%
  645. &400D0,,a%
  646. A(a%)
  647. B("IconDragBox:WARNING! no drag handler registered for this icon!")
  648. B(F$):
  649. _U%!44<>-1
  650. YA%=_U%!44:
  651. #YA%,F$
  652. _U%!&94>0
  653. F(&43B00,"ShellDBug:Trace "+F$)
  654. v(_Q%,_U%!28,_U%!32):A$=
  655. K(_U%!28,_U%!32,2):
  656. _U%!32=0
  657. w(_U%!28,_U%!32)
  658. A$<>""
  659. X(4,_U%!28,_U%!32):n%=
  660. ("FN"+A$+"(_temp28%,_temp32%)")
  661. _U%!32=0
  662. _U%!28=_U%!20
  663. &400D4,,-1
  664. b%,p%,IB%:IB%=
  665. k(_Q%!&C,_Q%!16)
  666. T(_Q%!8,_Q%!&C,_Q%!16):
  667. (p%<>0
  668. _Q%!&C>0
  669. _Q%!16>=0)
  670. T(_Q%!8,_Q%!&C,-1)
  671. p%<>0
  672. Y(_Q%,p%,_Q%!&C,_Q%!16,IB%)
  673. q%,A$,n%,JB%,f%:JB%=
  674. A(&64):
  675. B("Action:Mouse Button was ADJUST"):
  676. &400D6,_U%!28,JB%,&F000,&B000:f%=0:
  677. JB%!f%<>-1:
  678. JB%!f%=_U%!32
  679. z(_U%!28,_U%!32,1)
  680. +f%+=4:
  681. K(_U%!28,_U%!32,3):
  682. A$<>""
  683. X(1,_U%!28,_U%!32):n%=
  684. ("FN"+A$+"(_temp28%,_temp32%)")
  685. A(JB%):
  686. K(c%,AA%,rA%):
  687. e%,g%,h%,k%,A$:
  688. c%=-1
  689. c%=-2
  690. D(_U%!&C)-8:e%=0:h%=
  691. :g%=_U%!&C:A$="":
  692. (g%!e%=c%)
  693. g%!(e%+4)
  694. g%!(e%+(&C+(rA%*4)))>&8000
  695. #A$=$(g%!(e%+(&C+(rA%*4)))):h%=
  696. e%+=48
  697. g%!(e%+4)=AA%
  698. g%!(e%+(&C+(rA%*4)))>&8000
  699. #A$=$(g%!(e%+(&C+(rA%*4)))):h%=
  700. e%+=48
  701. e%+=48
  702. e%+=48
  703. ((e%>=k%)
  704. h%):=A$
  705. l(c%,i%):
  706. a%,y%,iA%,d%,ZA%,n%:iA%=
  707. A(30):
  708. &400CF,,iA%:d%=
  709. C(c%,i%,_U%+72,24,
  710. d%=-1
  711. d%=-2
  712. 4.n%=
  713. B("SHELLMSG13"),0,"",
  714. B("warning"))
  715. a%=(_U%!72)+d%:
  716. a%!8>&8000
  717. D(a%!8)-4
  718. ZA%=a%!8
  719. :y%=_U%!76:y%!0=256:y%!&C=0:y%!16=1:y%!20=iA%!&C:y%!24=iA%!16:y%!28=iA%!0:y%!32=iA%!4:y%!36=ZA%:y%!40=a%!&C:$(y%+44)=
  720. E(c%,a%!16)):
  721. &400E7,18,y%,y%!20,y%!24:_U%!&78=_Q%!8:_U%!&88=ZA%:_U%!&8C=a%!&C:_U%!&90=a%!8:_U%!&9C=a%!4:_U%!&C8=y%!20
  722. _U%!&CC=y%!24
  723. A(iA%):
  724. o(c%,i%,zA%):
  725. eA%,YB%,ZB%,f%:
  726. yB%,zB%,cA%,yC%,YC%,cD%,GA%:GA%=
  727. A(&400):
  728. &400D3,,GA%:
  729. GA%!0=-1
  730. A(GA%):=
  731. &400D6,c%,GA%,&40E000,&E000:YB%=GA%!0:f%=0:
  732. GA%!f%=i%
  733. j!yB%=GA%!(f%-4):zB%=GA%!(f%+4)
  734. :f%+=4:
  735. GA%!f%=-1:ZB%=GA%!(f%-4):
  736. _(c%,0,4)
  737. 398,394:
  738. i%=ZB%
  739. &400D2,c%,YB%,-1,-1,-1,
  740. E(c%,YB%))
  741. &400D2,c%,zB%,-1,-1,-1,
  742. E(c%,zB%))
  743. 399,410:
  744. i%=YB%
  745. &400D2,c%,ZB%,-1,-1,-1,
  746. E(c%,ZB%))
  747. &400D2,c%,yB%,-1,-1,-1,
  748. E(c%,yB%))
  749. A(GA%):=
  750. p(zA%):
  751. r%,k%,h%,e%,DA%,a$,T$,b$:
  752. wB%,vB%,GC%,aB%,bB%,DC%,aD%,d%:
  753. qA%,o%:r%=_U%!60:k%=_U%!&B4*24:h%=
  754. :e%=0:
  755. r%!e%=zA%
  756. e%+=24
  757. e%>=k%:
  758. *b%=r%+e%:a$=$(b%!8):
  759. (a$<>""
  760. b%!&C=0)
  761. Z(a$,DA%):o%=
  762. A(36):o%!0=DA%:
  763. &400CB,,o%:aB%=(o%!4-o%!&C)/2:bB%=(o%!16-o%!8)/2:
  764. A(o%)
  765. :T$=$(b%!16):
  766. T$<>""
  767. b%!&C>0
  768. ("FN"+T$+"("+
  769. b%!&C+")")
  770. ("FN"+T$+"("+
  771. DA%+")")
  772. M(_U%!&B8,b%!&C):
  773. d%>-1
  774. O(b%!&C)
  775. b%!&C>0
  776. B("SHELLMSG09")
  777. BA(DA%,aB%,bB%)
  778. :b$=$(b%!20):
  779. b$<>""
  780. b%!&C>0
  781. ("FN"+T$+"("+
  782. b%!&C+")")
  783. ("FN"+b$+"("+
  784. DA%+")")
  785. :qA%=
  786. a$="":T$="":b$="":qA%=
  787. :=qA%
  788. m(_Q%):
  789. BC%,lC%,HD%,CD%,n%,cB%:cB%=
  790. A(256):
  791. &400CF,,_shell_blk%:
  792. _U%!264=0
  793. &45BC4,_U%!24,_Q%
  794. BC%,,cB%:
  795. CA(BC%,cB%)
  796. _shell_blk%!8=1
  797. F(_U%!&E0)
  798.  _temp%=_U%!&E0:
  799. $_temp%<>""
  800. ("FN"+$_temp%+"(_U%!52,_U%!56)")
  801. K(_U%!36,_U%!40,_U%!24)
  802. _shell_FontMenuSelFN$=""
  803. A(cB%):
  804. n(_Q%):
  805. b%,n%:
  806. _Q%!16
  807. EA(_Q%)
  808. FA(_Q%)
  809. a(_Q%,
  810. HA(_Q%)
  811. a(_Q%,
  812. IA(_Q%)
  813. JA(_Q%)
  814. KA(_Q%)
  815. _U%!&A4>0
  816. b%=_U%!&A4:n%=
  817. ("FN"+$b%)
  818. LA(_Q%)
  819. MA(_Q%)
  820. &502:
  821. NA(_Q%)
  822. &400C0:
  823. OA(_Q%)
  824. &400C1:
  825. PA(_Q%)
  826. &400C2:
  827. _U%!&A8>0
  828. Eb%=_U%!&A8:n%=
  829. ("FN"+$b%+"("+
  830. (_Q%!4)+","+
  831. I(_Q%+28)+
  832. 34+")")
  833. _U%!&D0=-1
  834. I(_Q%+28)="StrongHelp"
  835. Q_U%!&D0=_Q%!4:
  836. b("Help_Install -DieWithTask "+
  837. P+"."+
  838. H):b%=_U%!&D8:
  839. $b%<>""
  840. RA($b%):
  841. A(_U%!&D8):_U%!&D8=0
  842. &400C3:
  843. _U%!&AC>0
  844. b%=_U%!&AC:n%=
  845. ("FN"+$b%)
  846. _Q%!4=_U%!&D0
  847. _U%!&D0=-1
  848. &400C7:
  849. I(_Q%+28)="StrongHelp"
  850. _U%!&D0=_Q%!20
  851. TA(_Q%)
  852. o(_Q%):
  853. _Q%!16
  854. UA(_Q%)
  855. VA(_Q%)
  856. _U%!44<>-1
  857. #(_U%!44):_U%!44=-1
  858. q(uA%):
  859. &600DD,uA%,&4B534154:
  860. &A1683,uA%:
  861. _U%!&64
  862. "XImpulse_CloseDown",_U%!&94
  863. Q(E$,i$,z$):
  864. q%,L%,U$,KB%,hA%:
  865. E$,8)="SHELLMSG"
  866. KB%=_U%!284:hA%=_U%!280
  867. KB%=_U%!64:hA%=_U%!68
  868. &61502,hA%,E$,KB%,256,i$,z$
  869. ,,,L%;q%:
  870. KB%?L%=&D:U$=$(KB%)
  871. e(I$):
  872. l%,h%:
  873. (I$)>&C
  874. L("SHELLMSG02",I$)
  875. :4h%=
  876. (_U%!0)-1:
  877. $(((_U%!4)+(16*l%))+4)=I$
  878. :l%=(_U%!0)-1
  879. l%:=h%
  880. L(E$,i$):=
  881. Q(E$,i$,"")
  882. V(I$):
  883. l%,h%:
  884. (I$)>&C
  885. L("SHELLMSG02",I$)
  886. H5h%=-1:
  887. (_U%!0)-1:
  888. $(((_U%!4)+(16*l%))+4)=I$
  889. h%=l%:l%=(_U%!0)-1
  890. h%>-1
  891. =!((_U%!4)+(16*h%))
  892. L("SHELLMSG03",I$)
  893. M(z%,m%):
  894. h%,f%:h%=-1:f%=0:
  895. z%<>0
  896. z%!f%<>-1:
  897. z%!f%=m%
  898. h%=f%:=h%
  899. :f%+=4:
  900. N(u%,sA%):
  901. mA%+&C,u%,sA%:=u%
  902. J(c%,AA%,rA%,p%,A$):
  903. e%,gA%,g%,k%,h%:
  904. dB%:e%=0:h%=
  905. c%=-1
  906. c%=-2
  907. r,k%=
  908. D(_U%!&C)-8:g%=_U%!&C:
  909. (g%!e%=c%)
  910. g%!(e%+4)=AA%
  911. e%+=48
  912. e%+=48
  913. (e%>=k%
  914. %e%=0:
  915. (g%!e%<>0):e%+=48:
  916. e%>=k%
  917. _U%!&C=
  918. N(_U%!&C,48):g%=_U%!&C:g%!(e%+0)=0:g%!(e%+4)=0:g%!(e%+8)=0:g%!(e%+&C)=0:g%!(e%+16)=0:g%!(e%+20)=0:g%!(e%+24)=0:g%!(e%+28)=0:g%!(e%+32)=0:g%!(e%+36)=0:g%!(e%+40)=0:g%!(e%+44)=0
  919. :g%!(e%+0)=c%:g%!(e%+4)=AA%:
  920. p%<>0
  921. g%!(e%+8)=p%
  922. :dB%=e%+(&C+(rA%*4)):
  923. g%!dB%<>0
  924. A(g%!dB%)
  925. :gA%=
  926. A$+1):$gA%=A$:g%!dB%=gA%:
  927. s(c%,i%,LB%):
  928. LB%=&C
  929. LB%=&D
  930. L("SHELLMSG23","PROCshell_IconSetButtonType")
  931. LB%<0
  932. LB%>&F
  933. L("SHELLMSG22","PROCshell_IconSetButtonType")
  934. L(c%,i%,LB%<<&C,&F000):
  935. F(VA%):
  936. VA%<&8000
  937. 99,"No heapblock defined at this address"
  938. D(VA%):
  939. c(V$):
  940. BA%,eB%,fB%,aA%,tA%,B$:
  941. 8,5,V$
  942. BA%,,eB%,fB%,aA%,tA%:
  943. BA%=0
  944. ="Not Found"
  945. tA%=51
  946. B$+="WR "
  947. tA%=&BB
  948. B$+="LWR"
  949. tA%=&88
  950. B$+="DL "
  951. OB$+=" "+
  952. ~eB%,"0",8):B$+=" "+
  953. ~fB%,"0",8):B$+=" "+
  954. ~aA%,"0",8):=B$
  955. S(V$):
  956. BA%,eB%,fB%,aA%,tA%,B$:
  957. 8,5,V$
  958. BA%,,eB%,fB%,aA%,tA%:=aA%
  959. X(CA%,q%,FC%):
  960. OA%,bC%,gB%,f%,dA%:
  961. &800100)=256
  962. "OA%=FC%!8:
  963. (FC%!4<>-1)
  964. kbC%=FC%!4:gB%=
  965. A(256):
  966. #X%=CA%+bC%:
  967. &C,4,X%,gB%,512:f%=0:
  968. :dA%=gB%?f%:f%+=1:
  969. dA%<32:OA%=OA%+f%:
  970. A(gB%)
  971. OA%=0
  972. :=OA%
  973. f(DA$,KC%):
  974. a%,dC%:a%=
  975. A(256):
  976. ("Set AppName$RISCOS Y"):
  977. ("RMEnsure "+DA$+" "+
  978. KC%+" Set AppName$RISCOS N"):
  979. &20023,"AppName$RISCOS",a%,256,0,0
  980. ,,dC%:a%?dC%=&D:
  981. ("Unset AppName$RISCOS"):
  982. A(a%):
  983. $a%="N"
  984. D(u%):
  985. 29,6,!(mA%+28),u%
  986. ,,,L:=L
  987. h(CA%,c%,i%):
  988. q%,a%:a%=
  989. A(50):a%!0=c%:a%!4=i%:
  990. &400CE,,a%:q%=a%!24:
  991. A(a%):=q%
  992. D(_$):
  993. &D00,_$
  994. i(hB%,y$):
  995. I%,N$:
  996. hB%<=0
  997.     N$=""
  998. J($hB%),";"+
  999. J(y$)):
  1000.     N$=""
  1001. $(hB%+I%),
  1002. $(hB%+I%)+";",";")-1)
  1003. j:=_U%!48
  1004. F(ED%,c$):
  1005. jA%,HC%:HC%=(
  1006. c$+30)
  1007. 3:jA%=
  1008. A(HC%):jA%!&C=0:jA%!16=ED%:$(jA%+20)=c$+
  1009. (0):jA%!0=HC%:
  1010. &600E7,17,jA%,0:
  1011. A(jA%):
  1012. v(_Q%,c%,i%):
  1013. i%<>-1
  1014. c%>-1
  1015. T(_Q%!8,c%,i%):
  1016. p%<>0
  1017. Y(_Q%,p%,c%,i%,
  1018. w(c%,i%):
  1019. d%,a%,k%:a%=_U%!72:d%=0:
  1020. a%<>0
  1021. D(a%)-8:
  1022. !(a%+d%)=c%
  1023. 45R$=
  1024. E(!a%,a%!16):
  1025. R$,".")=0
  1026. B("SHELLMSG01"))
  1027. 6    d%=k%
  1028. :d%+=24:
  1029. d%>=k%
  1030. X(iB%,c%,i%):
  1031. a%:a%=
  1032. A(50):a%!8=iB%:a%!&C=c%:a%!16=i%:
  1033. &81680,,a%:a%!8=0:
  1034. &81680,,a%:
  1035. A(a%):
  1036. k(c%,i%):=
  1037. T(iB%,c%,AA%):
  1038. e%,g%,h%,k%,p%:
  1039. c%=-1
  1040. c%=-2
  1041. M<k%=
  1042. D(_U%!&C)-8:e%=0:h%=
  1043. :g%=_U%!&C:A$="":
  1044. (g%!e%=c%)
  1045. B("GetEventMenu:window handle matched.."):
  1046. g%!(e%+4)=AA%
  1047. ["p%=g%!(e%+8):
  1048. p%=-2
  1049. p%=_U%!&FC
  1050. :e%+=48:
  1051. (e%>=k%
  1052. h%):=p%
  1053. Y(_Q%,p%,c%,i%,IB%):
  1054. v%,NA%:
  1055. K(_Q%!0,_Q%!4,p%)
  1056. A(50):NA%=
  1057. A(36):v%!0=c%:v%!4=i%:
  1058. &400CE,,v%:NA%!0=c%:
  1059. &400CB,,NA%:
  1060. K(NA%!4+v%!16+64,_Q%!4,p%):
  1061. NA%!4+v%!16+64,_Q%!4:
  1062. A(v%):
  1063. A(NA%)
  1064. z(c%,i%,KD%):
  1065. KD%=0
  1066. YA(c%,i%)
  1067. ZA(c%,i%)
  1068. m(Y$,LD%,AA$,d$):
  1069. IC%,FA%:FA%=
  1070. A(260):!FA%=0:$(FA%+4)=Y$+
  1071. d$=""
  1072. d$="Message from "+AA$
  1073. &400DF,FA%,19,d$
  1074. &400DF,FA%,17,d$
  1075. A(FA%):=IC%
  1076. _(c%,i%,iB%):
  1077. 6,&F,1:_Q%!8=iB%:_Q%!&C=c%:_Q%!16=i%:
  1078. W(6):
  1079. Z(j$,
  1080. bA%:bA%=
  1081. V(j$):bA%!64=_U%!16:
  1082. &400C1,,bA%
  1083. BA(c%,aB%,bB%):
  1084. n%,MB%:MB%=
  1085. A(20):_U%!20=c%:
  1086. &400CF,,MB%:
  1087. &400D4,,c%,MB%!0+aB%,MB%!4+bB%:
  1088. A(MB%):
  1089. CA(DA%,_h_blk%):
  1090. ("FN"+$DA%+"(_h_blk%)")
  1091. K(HA%,IA%,NB%):
  1092. A$:A$=
  1093. K(_U%!28,_U%!32,1):
  1094. A$<>""
  1095. ("FN"+A$+"(_U%!28,_U%!32)")
  1096. B("OpenMenu:no menumaker function registered")
  1097. NB%<>_U%!24
  1098. F(_U%!256)
  1099. A(_U%!256):_U%!256=0
  1100. F(_U%!&F4)
  1101. A(_U%!&F4):_U%!&F4=0
  1102. NB%=_U%!&FC
  1103. &400D4,,NB%,HA%-64,IA%:_U%!264=1
  1104. _Q%!0=HA%:_Q%!4=IA%:
  1105. &45BC5,NB%,_Q%:_U%!264=0
  1106. :_U%!24=NB%:_U%!36=HA%:_U%!40=IA%:_U%!52=_U%!28:_U%!56=_U%!32:
  1107. EA(_Q%):
  1108. b%,d%,a%,l%:
  1109. _Q%!4<>_U%!&94
  1110. C(_Q%!20,_Q%!24,_U%+96,16,
  1111. d%>-1
  1112. $a%=_U%!96+d%:
  1113. a(_Q%!40,a%!8,
  1114. `_Q%!0=256:_Q%!&C=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=
  1115. P+".ScrapFile"+
  1116. &400E7,18,_Q%,_Q%!4
  1117. A(_U%!&9C):_U%!&9C=
  1118. A((_Q%!0)+8):b%=_U%!&9C:
  1119. _Q%!0
  1120. 4:b%!l%=_Q%!l%:
  1121. l%:_U%!28=_Q%!20:_U%!32=_Q%!24:_U%!&80=0:_U%!&84=_Q%!36:_U%!&98=
  1122. A(_Q%!36):_Q%!0=28:_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:
  1123. &400E7,18,_Q%,_Q%!4
  1124. _U%!&70=_Q%!8
  1125. FA(_Q%):
  1126. _fullname$,u%,sA%,a%,b%,n%:u%=0:sA%=_Q%?(44+u%):
  1127. sA%<>0:_fullname$+=
  1128. (sA%):u%+=1:sA%=_Q%?(44+u%):
  1129. C(_U%!28,_U%!32,_U%+72,24,
  1130. d%=-1
  1131. d%=-2
  1132. B("SHELLMSG05")
  1133.  %a%=(_U%!72)+d%:b%=a%!20:
  1134. $b%<>""
  1135. $!n%=
  1136. ("FN"+$b%+"(_fullname$)")
  1137. F(a%!8)
  1138. 8,&A,_fullname$,a%!&C,,a%!8,a%!8+
  1139. D(a%!8)+1
  1140. B("SHELLMSG21")
  1141. _Q%!36>-1
  1142. _U%!80<>0
  1143. A(_U%!80)
  1144. 35_U%!80=
  1145. _fullname$+1):b%=_U%!80:$b%=_fullname$
  1146. :_Q%!16=3:!_Q%=256:_Q%!20=_U%!&C8:_Q%!24=_U%!&CC:_Q%!40=_U%!&8C:_Q%!36=
  1147. S(_fullname$):_Q%!&C=_Q%!8:$(_Q%+44)=_fullname$+
  1148. (0):_U%!84=_Q%!8:
  1149. &400E7,18,_Q%,_Q%!20,_Q%!24:
  1150. _U%!28<>_U%!20
  1151. U(_U%!28)
  1152. &400D4,,-1:
  1153. a(_Q%,lB%):
  1154. hD%,d%,a%,_temp%,vA%,BA%,q$:BA%=_Q%!40:q$=
  1155. I(_Q%+44):
  1156. _U%!96<>0
  1157. d%=-1
  1158. C(_Q%!20,_Q%!24,_U%+96,16,
  1159. d%=-1
  1160. Z d%=
  1161. C(_Q%!20,-1,_U%+96,16,
  1162. d%>-1
  1163. _&a%=_U%!96+d%:
  1164. a(_Q%!40,a%!8,lB%)
  1165. bIBD%=_Q%!&C:_Q%!&C=_Q%!8:_Q%!16=4:
  1166. &400E7,18,_Q%,_Q%!4:
  1167. _U%!&64
  1168. SA%=-1:_U%!&64=_U%!&64
  1169. s(BD%=_U%!&6C)
  1170. c(BA%,SA%,a%!8,q$,_Q%!36,a%):
  1171. _U%!&9C<>0
  1172. A(_U%!&9C):_U%!&9C=0
  1173. HA(_Q%):
  1174. IA(_Q%):
  1175. dD%,MC%,NC%:NC%=
  1176. _U%!&90>&8000
  1177. 4_Q%!&C=_Q%!8:_Q%!16=7:MC%=_U%!&88:
  1178. _U%!&8C=&FF9
  1179. _U%!&90+=4
  1180. (MC%-_U%!&80)<_Q%!24
  1181. _Q%!24=MC%-_U%!&80:NC%=
  1182. &400F1,_U%!&94,_U%!&90+_U%!&80,_Q%!4,_Q%!20,_Q%!24:
  1183. &400E7,17,_Q%,_Q%!4:_U%!&78=_Q%!8:_U%!&80+=_Q%!24:
  1184. _U%!&80=0
  1185. JA(_Q%):
  1186. d%,a%,r$,b%:
  1187. _Q%!&C=_U%!&70
  1188. $_U%!&80+=_Q%!24:
  1189. _Q%!24<_U%!&84
  1190. C(_U%!28,_U%!32,_U%+96,16,
  1191. ):a%=_U%!96+d%:b%=_U%!&9C:r$=
  1192. I(b%+44):
  1193. c(b%!40,_U%!&98,a%!8,r$,_U%!&84,a%)
  1194. _U%!&80>_U%!&84
  1195. '_U%!&98=
  1196. N(_U%!&98,_U%!&80,_U%!&84)
  1197. :_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:
  1198. &400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8
  1199. A(_U%!&98):_U%!&98=0:
  1200. B("SHELLMSG15"))
  1201. KA(_Q%):
  1202. b%,OC%,a%,l%,PC%:
  1203. _U%!300>0
  1204. A(256):
  1205. _Q%!0
  1206. 4:a%!l%=_Q%!l%:
  1207. l%:b%=_U%!300:OC%=a%!4:
  1208. !a%<24
  1209. PC%=0
  1210. PC%=a%!20
  1211. 2a%!&C=a%!8:
  1212. &400E7,19,a%,OC%:
  1213. ("FN"+$b%)<>0
  1214. _closedown%=
  1215. !a%=24:a%!24=508:
  1216. &400E7,8,a%,OC%:_closedown%=
  1217. A(a%)
  1218. LA(Q%):
  1219. l$:l$="Run "+
  1220. &C,2,Q%!20,l$,
  1221. MA(_Q%):
  1222. _U%!312>0
  1223. B("Message_Shutdown:Shutdown message received"):b%=_U%!312:n%=
  1224. ("FN"+$b%)
  1225. NA(_Q%):
  1226. E$,O$,H$,TA%,QC%,HA$,v%:v%=
  1227. A(&C):
  1228. &400D6,_Q%!32,v%,&3F0000,&C<<16:
  1229. !v%<>-1
  1230. E(_Q%!32,!v%)
  1231. A(v%):
  1232. E$=""
  1233. K(_Q%!32,_Q%!36,8)
  1234. t(_Q%!32,_Q%!36):
  1235. H$<>""
  1236. H$,1))="I"
  1237. H$,";"):
  1238. TA%=0
  1239. H$,2)
  1240. H$,2,TA%-2)
  1241. J(H$),
  1242. J(";i")):QC%=
  1243. J(H$),
  1244. J(";"),TA%+1):
  1245. TA%>0
  1246. QC%>0
  1247. H$,TA%+2,QC%-TA%-2)
  1248. H$,TA%+2)
  1249. E$<>""
  1250. j_Q%!16=&503:_Q%!&C=_Q%!8:O$=
  1251. Q(E$,"",""):O$=
  1252. u(O$):$(_Q%+20)=O$:!_Q%=(
  1253. O$+25)
  1254. &400E7,17,_Q%,_Q%!4
  1255. OA(_Q%):
  1256. A$,lC%,HA%,IA%,n%,_temp%,u%,K$,kA%,a%:HA%=_Q%!24:IA%=_Q%!28:_U%!264=0:
  1257. _U%!20<>0
  1258. v(_U%!20)
  1259. _Q%!20
  1260. _U%!&E4:
  1261. bA(_U%!&E4,
  1262. B("warning")):
  1263. C(_U%!&E4,1,
  1264. B("SHELLMSG07"),0):
  1265. &400E8,,_U%!&E4,HA%,IA%
  1266. w(_U%!24,_Q%+32):
  1267. F(kA%!4)
  1268. cA(kA%,HA%,IA%)
  1269. A(32):
  1270. &45BC4,_U%!24,_Q%+32
  1271. ,,a%:
  1272. dA(a%!8,K$,L$):
  1273. A(a%):
  1274. eA(_Q%!20,HA%,IA%,K$,L$)
  1275. PA(_Q%):
  1276. d%,f%,lA%,NA%:lA%=_U%!&B8:
  1277. _U%!&A0>0
  1278. B("Message_ModeChange:ModeChange message received"):b%=_U%!&A0:n%=
  1279. ("FN"+$b%)
  1280. :NA%=
  1281. A(&64):
  1282. lA%<>0
  1283. lA%!f%<>-1:d%=
  1284. C(lA%!f%,-1,_U%+92,24,
  1285. d%>-1
  1286. x(lA%!f%)
  1287.     P-!NA%=lA%!f%:
  1288. &400C6,,NA%:
  1289. I(lA%!f%,0,-1)
  1290. :f%+=4:
  1291. A(NA%):
  1292. I(sC%):
  1293. t$,nB%:
  1294. ((sC%?nB%)>31
  1295. nB%<&FF):t$+=
  1296. (sC%?nB%):nB%+=1:
  1297. b(c$):
  1298. F(&43B00,c$):
  1299. RA(n$):
  1300. XD%,b%,s%:s%=
  1301. A(512):
  1302. _U%!&D0=-1
  1303. R(s%,"StrongHelp$Dir")
  1304. &600DE,"<StrongHelp$Dir>":
  1305. _U%!&D8<>0
  1306. A(_U%!&D8)
  1307.     p'_U%!&D8=
  1308. n$+1):b%=_U%!&D8:$b%=n$
  1309. A(s%):
  1310. B("SHELLMSG11"))
  1311. b("Help_Word "+n$)
  1312. A(s%):
  1313. UA%,oB%:UA%=
  1314. A(256):
  1315. :UA%!&C=0:
  1316. &400E7,19,UA%,-2,_U%!&D4
  1317. ,,oB%:_U%!&D4=_U%!&D4+1:
  1318. oB%<>-1
  1319. (_U%!&D4)>64:
  1320. oB%<>-1
  1321. @UA%!0=24:UA%!&C=0:UA%!16=&400C6:UA%!20=oB%:
  1322. &400E7,17,UA%,0
  1323. A(UA%):
  1324. TA(_Q%):
  1325. _Q%!16
  1326. &43B00:P$=$(_Q%+20):
  1327. P$,30)="EvntShellLib:ShellDBug started"
  1328. _U%!&64
  1329. N_U%!&64=(_U%!&64
  1330. 1<<4):
  1331. F(&43B00,"ShellDBug:Init Debug messages from "+
  1332. P$,25)="EvntShellLib:TraceInitAck"
  1333. _U%!&64=(_U%!&64
  1334. 1<<4)
  1335. P$,20)="EvntShellLib:TraceOn"
  1336. P$,21)="EvntShellLib:TraceOff"
  1337. P$,28)="EvntShellLib:ListClickSelect"
  1338. P$,28)="EvntShellLib:ListClickAdjust"
  1339. P$,25)="EvntShellLib:ListHelpTags"
  1340. kA(_Q%):
  1341. UA(_Q%):
  1342. _Q%!&C<>_U%!84
  1343. &20008,6,"<Wimp$Scrap>":
  1344. &FF,"Data Transfer failed: Receiver died"
  1345. VA(_Q%):
  1346. uC%,b%:b%=_U%!&9C:
  1347. _Q%!&C<>_U%!&70
  1348. _U%!&80=0
  1349. &20023,"Wimp$Scrap",,-1,0,3
  1350. ,,uC%:
  1351. uC%<>0
  1352. w$(b%+44)="<Wimp$Scrap>"+
  1353. (0):b%!0=(49+
  1354. I(b%+44)))
  1355. 3:b%!&C=b%!8:b%!16=2:b%!36=-1:
  1356. &400E7,18,b%,b%!4:_U%!&6C=b%!8
  1357. B("SHELLMSG14"))
  1358. A(_U%!&98):_U%!&98=0:
  1359. D("SHELLMSG06")
  1360. l%,b%:b%=_U%!&E8:
  1361. b%?l%>0:
  1362. &40082,l%:b%?l%-=1:
  1363. L(OB%,PB%,ND%,OD%):
  1364. x%:x%=
  1365. A(16):!x%=OB%:x%!4=PB%:x%!8=ND%:x%!&C=OD%:
  1366. &400CD,,x%:
  1367. A(x%):
  1368. U(B$,BA$,aA%):
  1369. (B$)<aA%:B$=
  1370. (B$),BA$)+B$:
  1371. J(B$):
  1372. (B$)>0
  1373. (B$):
  1374. B$,l%,1)>="a"
  1375. B$,l%,1)<="z"
  1376. B$,l%,1)=
  1377. B$,l%,1))
  1378. YA(OB%,PB%):
  1379. L(OB%,PB%,0,&200000):
  1380. ZA(OB%,PB%):
  1381. L(OB%,PB%,&200000,&200000):
  1382. a(BA%,vA%,lB%):
  1383. jD%,f%,h%,b%,pB%:f%=0:h%=-1:pB%=
  1384. _U%!&64
  1385. _U%!&64=_U%!&64
  1386. vA%!f%<>-1:b%=vA%!f%:
  1387. 1<<31
  1388. b%=b%
  1389. 1<<31:pB%=
  1390. b%=BA%
  1391. h%=f%:
  1392. _U%!&64=_U%!&64
  1393. :f%+=4:
  1394. (BA%>=4096)
  1395. h%=-1
  1396. h%<>-1
  1397. _U%!&64
  1398. s(YD%):
  1399. o$,ZA%,qB%,SA%:o$=
  1400. I(_Q%+44):ZA%=
  1401. S(o$):
  1402. ZA%<0
  1403. B("SHELLMSG16"))
  1404. ;3SA%=
  1405. A(ZA%):
  1406. &20008,16,o$,SA%,0
  1407. ;qB%:
  1408. y(qB%)
  1409. A(SA%):
  1410. B("SHELLMSG17"))
  1411. :=SA%
  1412. c(BA%,SA%,vA%,_filename$,_file_size%,a%):
  1413. f%,h%,b%,n%:f%=0:h%=-1:
  1414. vA%!f%<>-1:b%=vA%!f%:
  1415. 1<<31
  1416. b%=b%
  1417. 1<<31
  1418. b%=BA%
  1419. h%=f%
  1420. W\f%+=4:
  1421. :b%=a%!&C:n%=
  1422. ("FN"+$(b%!h%)+"("+
  1423. SA%+","+
  1424. BA%+",_filename$,"+
  1425. _file_size%+")"):
  1426. t(c%,i%):
  1427. a%,H$,q%:
  1428. i%=-1
  1429. `CH$="":a%=
  1430. A(&64):a%!0=c%:a%!4=i%:
  1431. &400CE,,a%:q%=a%!24:
  1432. a%!32>0
  1433. H$=$(a%!32)
  1434. A(a%):=H$
  1435. u(S$):
  1436. G$,U$,cA%:G$="":
  1437. S$,"\")>0:cA%=
  1438. S$,"\"):G$+=
  1439. S$,cA%-1):U$=
  1440. S$,cA%+1,1):S$=
  1441. S$,cA%+2):
  1442. "A":G$+="Click ADJUST to"
  1443. "a":G$+="ADJUST"
  1444. "D":G$+="Drag with SELECT to"
  1445. "d":G$+="Drag with ADJUST to"
  1446. "G":G$+="This option is greyed out because"
  1447. "R":G$+="Move the pointer right"
  1448. "S":G$+="Click SELECT to"
  1449. "s":G$+="SELECT"
  1450. "T":G$+="This is the"
  1451. "W":G$+="This window is"
  1452. "w":G$+="window"
  1453. G$+="\"+U$
  1454. :=G$+S$
  1455. v(m%):
  1456. o%:o%=
  1457. A(20):
  1458. m%<>0
  1459. z(m%)
  1460. lA(m%):
  1461. m%=_U%!20
  1462. _U%!20=0
  1463. M(_U%!&B8,m%):
  1464. d%>-1
  1465. b%=_U%!&B8+d%:b%!0=0
  1466. :o%!0=m%:
  1467. &400C3,,o%:m%=0
  1468. A(o%):=m%
  1469. LA%,X$):
  1470. b%,o%,m%,wC%:o%=
  1471. A(6000):o%!0=LA%:
  1472. &400CC,,o%:
  1473. ((o%!60)
  1474. 256)=0
  1475. Ab%=o%+76:$b%=
  1476. X$,&B):
  1477. &400C3,,o%:
  1478. &400C1,,o%+4
  1479. m%<>LA%
  1480. mA(LA%,m%):LA%=m%
  1481. wC%=o%!84:$(!(o%+76))=
  1482. X$,wC%-1):
  1483. ((o%!32)
  1484. (1<<16))<>0
  1485. &400D1,-1,o%!4,o%!16,o%!&C,o%!16+44
  1486. A(o%)
  1487. w(p%,xC%):
  1488. f%,kA%:
  1489. &45BC7,p%
  1490. :kA%=p%+28+((xC%!f%)*24):p%=kA%!4:f%+=4:
  1491. xC%!f%=-1:=kA%
  1492. cA(VA%,HA%,IA%):
  1493. b%,DA%,n%:
  1494. )b%=VA%!4:
  1495. Z($b%!0,DA%):
  1496. $b%!4<>""
  1497. ("FN"+$b%!4+"("+
  1498. DA%+")")
  1499. $b%!8<>""
  1500. ("FN"+$b%!8+"("+
  1501. DA%+")")
  1502. &400E8,,DA%,HA%,IA%:_U%!20=DA%:
  1503. dA(RD%,
  1504. qA%,r%,b%,d%,h%,k%,PA%,f%:
  1505. TC%:TC%=0:r%=_U%!&DC:d%=0:h%=
  1506. :K$="":TC%=0:
  1507. F(r%)
  1508. :f%+=4:
  1509. r%!f%=-1:k%=f%:f%=0:
  1510. :b%=!(r%+d%+0):
  1511. b%<>-1
  1512. b%=RD%
  1513. :PA%=r%!(d%+4):K$=$PA%:TC%=r%!(d%+8):PA%=r%!(d%+&C):L$=$PA%
  1514. :d%+=16
  1515. d%=k%
  1516. d%>=k%
  1517. K$="":L$=""
  1518. eA(UD%,HA%,IA%,K$,L$):
  1519. n%,b%,gD%,f%:_shell_FontMenuSelFN$=L$:
  1520. F(_U%!&E0)
  1521. A(_U%!&E0)
  1522. 0_U%!&E0=
  1523. K$+1):b%=_U%!&E0:$b%=K$:
  1524. K$<>""
  1525. ("FN"+K$+"(_U%!52,_U%!56)")
  1526. &400E8,,UD%,HA%,IA%:
  1527. x(c%):=(
  1528. _(c%)
  1529. 1<<16)
  1530. fA:_U%!48=
  1531. F(&43B00,"ShellDBug:TraceOn"):
  1532. gA:_U%!48=
  1533. F(&43B00,"ShellDBug:TraceOff"):
  1534. r%,e%,k%,b%,PA%:r%=_U%!&C:k%=
  1535. D(r%):e%=0:
  1536. :b%=r%!(e%+20):PA%=r%+e%:
  1537. F(b%)
  1538. $b%<>""
  1539. :e%+=48:
  1540. (e%>=k%):
  1541. r%,e%,k%,b%,PA%:r%=_U%!&C:k%=
  1542. D(r%):e%=0:
  1543. :b%=r%!(e%+24):PA%=r%+e%:
  1544. F(b%)
  1545. $b%<>""
  1546. :e%+=48:
  1547. (e%>=k%):
  1548. r%,e%,k%,b%,PA%:r%=_U%!&C:k%=
  1549. D(r%):e%=0:
  1550. :b%=r%!(e%+44):PA%=r%+e%:
  1551. F(b%)
  1552. $b%<>""
  1553. :e%+=48:
  1554. (e%>=k%):
  1555. kA(_Q%):
  1556. y(qB%):=((qB%
  1557. 1)=1)
  1558. z(m%):=-1
  1559. lA(c%):
  1560. e%,p%,h%,k%,g%,l%:e%=0:p%=0:h%=
  1561. c%=-1
  1562. c%=-2
  1563. G,k%=
  1564. D(_U%!&C)-8:g%=_U%!&C:
  1565. (g%!e%=c%)
  1566. e%+=48
  1567. (e%>=k%
  1568. QCg%!(e%+0)=0:g%!(e%+4)=0:g%!(e%+8)=0:
  1569. l%=&C
  1570. g%!(e%+l%)<>0
  1571. A(g%!(e%+l%)):g%!(e%+l%)=0
  1572. B("EventDeleteAll:wh%=&"+
  1573. ~c%):
  1574. nA(c%,-1):
  1575. oA(c%,-1):
  1576. mA(JA%,KA%):
  1577. KA%<>JA%
  1578. _U%!28=JA%
  1579. _U%!28=KA%
  1580. G(JA%,KA%,_U%!&C,48):
  1581. G(JA%,KA%,_U%!96,16):
  1582. G(JA%,KA%,_U%!72,24):
  1583. G(JA%,KA%,_U%!92,24):
  1584. G(JA%,KA%,_U%!&68,16):
  1585. qA(JA%,KA%)
  1586. _(c%):
  1587. q%,a%:a%=
  1588. A(36):a%!0=c%:
  1589. &400CB,,a%:q%=a%!32:
  1590. A(a%):=q%
  1591. nA(c%,i%):
  1592. d%,a%,k%:
  1593. C(c%,i%,_U%+72,24,
  1594. d%>=0
  1595. i%=-1
  1596. B("DeleteEventDataSave:Deleting DataSave Event (all events for window handle &"+
  1597. ~c%+")")
  1598. B("DeleteEventDataSave:Deleting DataSave Event (window handle was &"+
  1599. ~c%+" icon handle was "+
  1600. i%+")")
  1601. D(_U%!72)-8:
  1602. d%=k%-24
  1603. A(_U%!72):_U%!72=0
  1604. _U%!72=
  1605. N(_U%!72,-24)
  1606. a%=g%+d%:a%!0=0:a%!4=0:a%!8=0:a%!&C=0:a%!16=0:
  1607. A(a%!20):a%!20=0
  1608. d%<0:
  1609. oA(c%,i%):
  1610. d%,a%,k%,g%,b%:g%=_U%!&68:
  1611. C(c%,i%,_U%+&68,16,
  1612. B("DeleteEventBump:offset%="+
  1613. d%>=0
  1614. i%=-1
  1615. B("DeleteEventBump:Deleting Bump Event (all events for window handle &"+
  1616. ~c%+")")
  1617. B("DeleteEventBump:Deleting Bump Event (window handle was &"+
  1618. ~c%+" icon handle was "+
  1619. i%+")")
  1620. D(_U%!&68)-8:
  1621. d%=k%-16
  1622. ~t%=g%!&C:b%=t%!&C:
  1623. A(b%!&C):
  1624. A(b%!16):
  1625. A(b%):
  1626. A(_U%!&68):_U%!&68=0:
  1627. B("DeleteEventDataSave:No Bump events now registered")
  1628. _U%!&68=
  1629. N(_U%!&68,-16)
  1630. a%=g%+d%:a%!0=0:a%!4=0:a%!8=0:t%=a%!&C:
  1631. A(t%!&C):
  1632. A(t%!16):
  1633. A(t%)
  1634. d%<0:
  1635. G(JA%,KA%,g%,d%):
  1636. e%,k%:
  1637. F(g%)
  1638. D(g%)-8:
  1639. (g%!e%=JA%)
  1640. g%!e%=KA%
  1641. :e%+=d%:
  1642. (e%>=k%)
  1643. qA(JA%,KA%):
  1644. d%,z%:z%=_U%!&B8:d%=
  1645. M(_U%!&B8,JA%):z%!d%=KA%:
  1646.